// xc_lshop/shop/wxlive/Preview.js
var actbill = require('../../../xc/model/wxlive')
Page({
  mixins: [require('../../../xc/mixins/basicMixin')],

  /**
   * 页面的初始数据
   */
  data: {
    roomId:"0",
     sub:{
      width:239,
      height:44,
      fontSize:15,
      color:'#FFFFFF',
      backgroundColor:'#E93449',
      customParams:{}
     }
  },
  //获取直播间详情
  getmodel(roomid) {
    var that = this;
    actbill.getmodel(roomid).then(function (res) {
      console.log(res.obj)
      if (res["status"] == 1 && res["obj"]) {
        // this.getlivestatus(roomid)
        that.setData({
          model: res["obj"]
        })
      } else {
        that.error(res["message"])
      }
    })
  },
  setconfig(config){
    console.log("config")
    console.log(config)
    var wxliveconfig={status:'-1','poster':{
      status:-1
    }}
    if(config.wxlive){
      wxliveconfig=config.wxlive
    }
    if(wxliveconfig.status==-1){
      this.error('微信直播功能未开启',true)
    }else{
      this.setData({
        wxliveconfig
      })
    }
  },
  xcloaddata: function (options, config) {
    this.setconfig(config)
    var roomId = options.roomid
    this.setData({
      roomId
    })
    this.getmodel(options.roomid)

    // var issubscribe=true
    // console.log(this.data.model)
    // this.setData({
    //   'model.previewnum': this.data.model.previewnum + 1 * (issubscribe?'1':'-1')
    // })
    // this.getlivestatus(options.roomid)
  },
  
  // 监听订阅事件用于获取订阅状态
  onSubscribe(e) {
    console.log('房间号：', e.detail.room_id)
    console.log('订阅用户openid', e.detail.openid)
    console.log('是否订阅', e.detail.is_subscribe)
    var roomid= e.detail.room_id
    var issubscribe= e.detail.is_subscribe

    var that = this;
    actbill.subscribe(roomid,issubscribe).then(function (res) {
    
      if (res["status"] == 1) {
        var num=that.data.model.previewnum * 1 + 1 * (issubscribe?'1':'-1');
        console.log(num)
        that.setData({
          'model.previewnum': num
        })
      }
    })
  },
  //直播状态
  getlivestatus(roomid) {
    console.log(roomid)
    let livePlayer = requirePlugin('live-player-plugin')

    // 首次获取立马返回直播状态
    const roomId = roomid // 房间 id
    livePlayer.getLiveStatus({
        room_id: roomId
      })
      .then(res => {
        
        // 101: 直播中, 102: 未开始, 103: 已结束, 104: 禁播, 105: 暂停中, 106: 异常，107：已过期 
        const liveStatus = res.liveStatus
        console.log('get live status', liveStatus)
      })
      .catch(err => {
        console.log('get live status', err)
      })
    // 往后间隔1分钟或更慢的频率去轮询获取直播状态
    setInterval(() => {
      livePlayer.getLiveStatus({
          room_id: roomId
        })
        .then(res => {
          // 101: 直播中, 102: 未开始, 103: 已结束, 104: 禁播, 105: 暂停中, 106: 异常，107：已过期 
          const liveStatus = res.liveStatus
          console.log('get live status', liveStatus)
        })
        .catch(err => {
          console.log('get live status', err)
        })
    }, 60000)
  },
  share:function(){
    var widgetsshare =this.selectComponent("#widgetsshare");
    widgetsshare.showSharefunc()
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    var app = getApp()
    var sharetitle = "好友邀请你参与直播";
    var shareimg = this.data.model.share_img;
    var sharepath = app.xc_sys_config.getshareurl()
    return {
      title: sharetitle,
      path: sharepath,
      imageUrl: shareimg
    }
  }
})